package com.ruoyi.work.service;

import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.work.domain.WorkFill;
import com.ruoyi.work.domain.vo.WorkFillProjectReport;
import com.ruoyi.work.domain.vo.WorkFillReport;
import com.ruoyi.work.domain.vo.WorkFillVo;

import java.util.List;

/**
 * @Author: MMDZ
 * @Desc:
 */
public interface IWorkFillService {
    /**
     * 初始化填报数据（今天已填写的填报记录）
     *
     * @return
     */
    AjaxResult init();

    /**
     * 工时填报
     *
     * @param vo
     * @return
     */
    AjaxResult insertWorkFill(WorkFillVo vo);

    /**
     * 我的工时-工时累计（审核过的有效工时）
     *
     * @param report
     * @return
     */
    List<WorkFillReport> initFill(WorkFillReport report);

    /**
     * 我的工时-累计项目工时（审核过的有效工时）
     *
     * @param report
     * @return
     */
    List<WorkFillProjectReport> initPro(WorkFillProjectReport report);

    /**
     * 查询个人申报回退列表
     *
     * @param workFill
     * @return
     */
    List<WorkFill> selectFillForRollBackList(WorkFill workFill);

    /**
     * 根据id查询填报详情信息
     *
     * @param fillId
     * @return
     */
    WorkFill selectWorkFillById(Long fillId);

    /**
     * 申报回退 删除
     *
     * @param fillId
     * @return
     */
    int deleteWorkFillById(Long fillId);

    /**
     * 申报回退 修改
     *
     * @param workFill
     * @return
     */
    int updateBackWorkFill(WorkFill workFill);
}
